﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;

namespace AqueleAjax.UI
{
    /// <summary>
    /// Esta classe contém ferramentas para auxiliar nos controles Ajax.
    /// </summary>
    public static class AjaxUtil
    {
        /// <summary>
        /// Retira os caractéres de quebra de linha de um HTML.
        /// </summary>
        /// <param name="html">HTML que será tratado.</param>
        /// <returns>Retorna o HTML tratado.</returns>
        public static string RemoveBreakSpaceFromHtml(string html)
        {
            if (html == null) return string.Empty;

            return html.Replace("\r\n", string.Empty).Replace("\t", string.Empty);
        }

        /// <summary>
        /// Converte os apóstrofos em \'.
        /// </summary>
        /// <param name="html">HTML que será tratado.</param>
        /// <returns>Retorna o HTML tratado.</returns>
        public static string ClearApostropheFromHtml(string html)
        {
            if (html == null) return string.Empty;

            return html.Replace("'", "\\\'");
        }

        /// <summary>
        /// Converte os barra (\) em barras duplas (\\).
        /// </summary>
        /// <param name="html">HTML que será tratado.</param>
        /// <returns>Retorna o HTML tratado.</returns>
        public static string ClearBrasFromHtml(string html)
        {
            if (html == null) return string.Empty;

            return html.Replace("\\", "\\\\");
        }

        /// <summary>
        /// Limpa o HTML e converte os apóstrofos em \'.
        /// </summary>
        /// <param name="html">HTML que será tratado.</param>
        /// <returns>Retorna o HTML tratado.</returns>
        public static string ClearHtml(string html)
        {
            if (html == null) return string.Empty;

            html = AjaxUtil.RemoveBreakSpaceFromHtml(html);
            html = AjaxUtil.ClearBrasFromHtml(html);
            html = AjaxUtil.ClearApostropheFromHtml(html);

            return html;
        }
    }
}
